BidiMap (Bidirectional Map) হল একটি বিশেষ ধরনের Map যা দুইটি দিক থেকে কাজ করতে সক্ষম। অর্থাৎ, এটি একটি key-value সম্পর্কের পাশাপাশি value-key সম্পর্কও ধারণ করে। সাধারণত, Map-এ কেবল key -> value সম্পর্ক থাকে, কিন্তু BidiMap-এ আপনি value -> key সম্পর্কও অ্যাক্সেস করতে পারেন। এটি Apache Commons Collections লাইব্রেরির একটি গুরুত্বপূর্ণ ডেটা স্ট্রাকচার যা Map-এর ডেটা স্ট্রাকচারের কার্যকারিতা বাড়ায়।
Apache Commons Collections লাইব্রেরিতে দুটি প্রধান BidiMap বাস্তবায়ন রয়েছে:
DualHashBidiMap
: এটি একটি বাস্তবায়ন যা HashMap এবং HashSet এর মতো উপাদান ব্যবহার করে।TreeBidiMap
: এটি একটি বাস্তবায়ন যা TreeMap এর ভিত্তিতে কাজ করে এবং BidiMap এর সমস্ত বৈশিষ্ট্য প্রদান করে, তবে এতে sorted order থাকে।এখানে একটি উদাহরণ দেওয়া হয়েছে যেখানে BidiMap এর কাজ দেখানো হয়েছে:
import org.apache.commons.collections4.map.BidiMap;
import org.apache.commons.collections4.map.DualHashBidiMap;
public class BidiMapExample {
public static void main(String[] args) {
// Create a BidiMap instance
BidiMap<String, String> bidiMap = new DualHashBidiMap<>();
// Add key-value pairs
bidiMap.put("apple", "fruit");
bidiMap.put("carrot", "vegetable");
bidiMap.put("banana", "fruit");
// Access value using key
System.out.println("apple is a " + bidiMap.get("apple")); // Output: apple is a fruit
// Access key using value
System.out.println("The key for value 'fruit' is " + bidiMap.getKey("fruit")); // Output: The key for value 'fruit' is apple
// Check if a specific value exists
System.out.println("Does 'carrot' exist as a key? " + bidiMap.containsKey("carrot")); // Output: true
System.out.println("Does 'vegetable' exist as a value? " + bidiMap.containsValue("vegetable")); // Output: true
}
}
apple is a fruit
The key for value 'fruit' is apple
Does 'carrot' exist as a key? true
Does 'vegetable' exist as a value? true
DualHashBidiMap
ব্যবহার করে একটি BidiMap তৈরি করা হয়েছে।put()
মেথডের মাধ্যমে key-value পেয়ার যোগ করা হয়েছে।get()
মেথডটি key থেকে value রিটার্ন করছে।getKey()
মেথডটি value থেকে key রিটার্ন করছে।containsKey()
এবং containsValue()
মেথডগুলি অনুসন্ধানের জন্য ব্যবহৃত হয়েছে, যা নির্ধারণ করে যে কোনও কী বা মান ম্যাপে আছে কিনা।BidiMap হল Map ডেটা স্ট্রাকচারের একটি শক্তিশালী উন্নত সংস্করণ যা আপনাকে key-value সম্পর্কের পাশাপাশি value-key সম্পর্কও এক্সেস করার সুযোগ দেয়। এটি দুই দিক থেকে ডেটা অনুসন্ধান করার জন্য কার্যকরী এবং বিভিন্ন key-value রিলেশনশিপ ম্যানেজ করার জন্য উপযুক্ত। DualHashBidiMap এবং TreeBidiMap এর মতো বাস্তবায়নগুলি BidiMap এর সুবিধা প্রদান করে, যেখানে আপনি দ্রুত এবং কার্যকরীভাবে bidirectional lookup করতে পারেন।
common.read_more